Many computing systems today utilize multiple processing units, resulting in a computer architecture generally referred to as multi-processing. Multi-processing systems are often used for transaction processing, such as airline and banking systems. Transaction processing refers generally to a technique for organizing multi-user, high volume, on-line applications that provides control over user access and updates of databases. A transaction refers to the execution of a retrieval or an update program in a database management system. Transactions originating from different users may be aimed at the same database records.
It is important that system hardware or software failures do not result in the loss of database records, or in an "inconsistent" database. The system should be recoverable, which refers to the consistency, integrity and restoration characteristics of an application's database and message environment. A system is recoverable if the process of making permanent all requested database changes and messages is completed even if a host failure occurs during the process of "committing", which refers to the process of making database changes permanent. The system must also maintain indivisibility, which means that all of each transaction's requested database changes and messages must be made permanent as a unit only if the transaction completes successfully; otherwise all must be nullified. This characteristic ensures that the overall database contents are consistent and that the transaction's messages reflect the results of such database contents.
Prior art transaction processing systems provide for recoverability by providing separate permanent data storage devices for each functional module in the system. While this is described in greater detail in connection with FIG. 1, the prior art generally required information associated with each functional module (i.e., "component") of each host processor to be backed up on numerous external disks or tapes. Therefore, the prior art provides recovery files on a component basis to provide performance to the transaction processing during on-line operations, which results in the need for a large amount of external storage space, particularly where multiple hosts are present. Such a distributed system requires a large amount of external disk or tape, and is difficult to access from other host processors. Furthermore, because disks or tapes must be maintained for these recovery files, recovery involves a great deal of sequential interaction between the components.
The present invention avoids the problems associated with such a distributed recovery system, and provides a centralized, commonly accessible system for effecting recovery actions in a data processing system. The present invention therefore provides a solution to the aforementioned problems and other shortcomings, and offers numerous advantages over the prior art.